package cn.example.practice.model;

import java.util.List;


/**
 * 订单类
 * 代表一个订单，包含订单的基本信息和相关操作
 */
public class Order {
    // 订单ID
    private Long id;
    // 订单项列表，包含该订单中的所有商品信息
    private List<OrderItem> items;
    // 订单总金额
    private float total;
    // 订单状态，如已支付、待支付等
    private String status;
    // 用户ID，表示下单的用户
    private Long userId;
    // 创建时间，记录订单创建的时间
    private String createTime;

    /**
     * 获取订单ID
     *
     * @return 订单ID
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置订单ID
     *
     * @param id 订单ID
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取订单项列表
     *
     * @return 订单项列表
     */
    public List<OrderItem> getItems() {
        return items;
    }

    /**
     * 设置订单项列表
     *
     * @param items 订单项列表
     */
    public void setItems(List<OrderItem> items) {
        this.items = items;
    }

    /**
     * 获取订单总金额
     *
     * @return 订单总金额
     */
    public float getTotal() {
        return total;
    }

    /**
     * 设置订单总金额
     *
     * @param total 订单总金额
     */
    public void setTotal(float total) {
        this.total = total;
    }

    /**
     * 获取订单状态
     *
     * @return 订单状态
     */
    public String getStatus() {
        return status;
    }

    /**
     * 设置订单状态
     *
     * @param status 订单状态
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * 获取用户ID
     *
     * @return 用户ID
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * 设置用户ID
     *
     * @param userId 用户ID
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * 获取订单创建时间
     *
     * @return 创建时间
     */
    public String getCreateTime() {
        return createTime;
    }

    /**
     * 设置订单创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }
}

